// #ifndef __PID_H
// #define __PID_H

// #define SELECT 0 /*位置式：0，增量式：1*/

// #if SELECT

// /*增量式PID*/
// #define KP1 2.25f // P参数
// #define KI1 0.00f // I参数
// #define KD1 0.0f  // D参数

// #define KP2 6.25f	 // P参数
// #define KI2 0.00750f // I参数
// #define KD2 0.0f	 // D参数

// #define SAMPL_TIM 5 // 采样时间 单位ms

// #else
// /*位置式PID*/

// /*电机1的PID*/
// #define Speed_KP1 20.0f	  // P参数
// #define Speed_KI1 7.5f // I参数
// #define Speed_KD1 0.0f  // D参数

// #define Speed_timeConstant1 0.0f // 被控对象时间常数

// #define Angle_KP1 1.1f	 // P参数
// #define Angle_KI1 0.000f // I参数
// #define Angle_KD1 0.8f	 // D参数

// #define Angle_timeConstant1 0.0f // 被控对象时间常数

// /*电机2的PID*/

// #define Speed_KP2 20.0f  // P参数
// #define Speed_KI2 7.5f // I参数
// #define Speed_KD2 0.0f  // D参数

// #define Speed_timeConstant2 0.0f // 被控对象时间常数

// #define Angle_KP2 1.10f	 // P参数
// #define Angle_KI2 0.000f // I参数
// #define Angle_KD2 0.80f	 // D参数

// #define Angle_timeConstant2 0.0f // 被控对象时间常数

// #define SAMPL_TIM 5 // 采样时间 单位ms

// #endif

// // 定义前馈补偿器结构体
// typedef struct
// {
// 	double tau;		 // 被控对象时间常数
// 	double Ts;		 // 采样时间
// 	double lasttime; // 上一次时间
// 	double refPrev;	 // 前一时刻的参考输入
// } FeedforwardCompensator;

// /*PID结构体*/
// typedef struct
// {
// 	float Setpoint;	   /*设定目标*/
// 	float ActualValue; /*期望输出值*/
// 	float SumError;	   /*误差累计*/
// 	float Proportion;  /*比例常数P*/
// 	float integral;	   /*积分常数I*/
// 	float Derivation;  /*微分常数D*/
// 	float Error;	   /*e[n]*/
// 	float LastError;   /*e[n-1]*/
// 	float PrevError;   /*e[n-2]*/
// 	float Pidoutput;   /*e[n-2]*/
// 	FeedforwardCompensator ff;
// } PID_TypeDef;

// void PID_Init(void); // PID初始化

// float Pid_closed_control(PID_TypeDef *PID, float Feedback_value); // Feedback_value实际值

// #endif
